home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / comms / other / novia / bin / closeport.c < prev    next >
C/C++ Source or Header  |  1999-12-06  |  873b  |  38 lines

  1. #include <pragma/noviasys_lib.h>
  2. #include <pragma/exec_lib.h>
  3. #include <pragma/dos_lib.h>
  4. #include <stdio.h>
  5. #include <novia/novia_portdata.h>
  6.  
  7. struct Library *NoviaSysBase;
  8.  
  9. void ioprintf(const char *string, ...)
  10. {
  11.     char *buffer=AllocVec(10000,MEMF_ANY|MEMF_CLEAR);
  12.     if (buffer)
  13.     {
  14.         vsprintf(buffer, string, unsigned int(&string + 1));
  15.         Writeio(buffer,-1);
  16.         FreeVec(buffer);
  17.     }
  18. }
  19.  
  20. void main()
  21. {
  22.     if ((NoviaSysBase = OpenLibrary("noviasys.library", 0)))
  23.     {
  24.         struct PortData *cport = (struct PortData *)FindTask(NULL)->tc_UserData;
  25.             if (cport->systemservice)
  26.             {
  27.                 ULONG PortID;
  28.                 StrToLong(cport->argstring[1],(LONG *)&PortID);
  29.                 ioprintf("closeport: %d\n",PortID);
  30.                 if (PortID != cport->clientconfig.IDNumber)
  31.                     CloseClientPort(PortID);
  32.                 else
  33.                     ioprintf("You can't close your own port.\n");
  34.                 return TRUE;
  35.             }
  36.         CloseLibrary(NoviaSysBase);
  37.     }
  38. }